package com.basic.modules.nykf.dao;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.basic.modules.nykf.entity.CustomerComplaintHandlingEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Mapper
public interface CustomerComplaintHandlingDao extends BaseMapper<CustomerComplaintHandlingEntity> {

    List<Integer> getKsdjIds(@Param("offset") int offset,
                             @Param("pageSize") int pageSize,
                             @Param("customizeQueryCondition") List<Map> customizeQueryCondition,
                             @Param("keyword") String keyword,
                             @Param("complaintId") Long complaintId);

    List<CustomerComplaintHandlingEntity> getKsmx(@Param("ksdjIds") List<Integer> ksdjIds,
                                                  @Param("customizeQueryCondition") List<Map> customizeQueryCondition,
                                                  @Param("keyword") String keyword,
                                                  @Param("complaintId") Long complaintId);

    int getTotal(@Param("customizeQueryCondition") List<Map> customizeQueryCondition,
                 @Param("keyword") String keyword,
                 @Param("complaintId") Long complaintId);

    Integer getYxsl(@Param("channel") String channel,
                    @Param("str1") String str1,
                    @Param("startDate") Date startDate,
                    @Param("endDate") Date endDate,
                    @Param("clr") String clr);

    Integer getWxsl(@Param("channel") String channel,
                    @Param("str2") String str2,
                    @Param("startDate") Date startDate,
                    @Param("endDate") Date endDate,
                    @Param("clr") String clr);

    Integer getTotail(@Param("channel") String channel,
                      @Param("startDate") Date startDate,
                      @Param("endDate") Date endDate,
                      @Param("clr") String clr);

    Integer getDjzqsl(@Param("channel") String channel,
                      @Param("startDate") Date startDate,
                      @Param("endDate") Date endDate,
                      @Param("clr") String clr);

    Integer getJqsl(@Param("channel") String channel,
                    @Param("startDate") Date startDate,
                    @Param("endDate") Date endDate,
                    @Param("nowDate") LocalDateTime nowDate,
                    @Param("clr") String clr);

    Integer getPdsl(@Param("channel") String channel,
                    @Param("startDate") Date startDate,
                    @Param("endDate") Date endDate,
                    @Param("nowDate") LocalDateTime nowDate,
                    @Param("clr") String clr);

    Integer getWjsl(@Param("channel") String channel,
                    @Param("startDate") Date startDate,
                    @Param("endDate") Date endDate,
                    @Param("nowDate") LocalDateTime nowDate,
                    @Param("clr") String clr);


    Integer getByDate(String djsjDate);

    Date getMinJqsj(String djsjDate);
}